{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-directory-core",
      "artifactVersion": "2021.58.6",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.directory",
          "org.nuxeo.ecm.directory.api",
          "org.nuxeo.ecm.directory.ldap",
          "org.nuxeo.ecm.directory.multi",
          "org.nuxeo.ecm.directory.sql",
          "org.nuxeo.ecm.directory.types.contrib",
          "org.nuxeo.ecm.directory.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory",
        "id": "grp:org.nuxeo.ecm.directory",
        "name": "org.nuxeo.ecm.directory",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2021.58"
      },
      "bundleId": "org.nuxeo.ecm.directory",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.local.configuration/Contributions/org.nuxeo.ecm.directory.local.configuration--schema",
              "id": "org.nuxeo.ecm.directory.local.configuration--schema",
              "registrationOrder": 18,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <schema name=\"directory_configuration\" prefix=\"dirconf\" src=\"schemas/directory_configuration.xsd\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.local.configuration/Contributions/org.nuxeo.ecm.directory.local.configuration--doctype",
              "id": "org.nuxeo.ecm.directory.local.configuration--doctype",
              "registrationOrder": 19,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n\n    <facet name=\"DirectoryLocalConfiguration\">\n      <schema name=\"directory_configuration\"/>\n    </facet>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.api.DocumentAdapterService--adapters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.local.configuration/Contributions/org.nuxeo.ecm.directory.local.configuration--adapters",
              "id": "org.nuxeo.ecm.directory.local.configuration--adapters",
              "registrationOrder": 13,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.api.DocumentAdapterService",
                "name": "org.nuxeo.ecm.core.api.DocumentAdapterService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"adapters\" target=\"org.nuxeo.ecm.core.api.DocumentAdapterService\">\n    <adapter class=\"org.nuxeo.ecm.directory.localconfiguration.DirectoryConfiguration\" factory=\"org.nuxeo.ecm.directory.localconfiguration.DirectoryConfigurationFactory\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.local.configuration",
          "name": "org.nuxeo.ecm.directory.local.configuration",
          "requirements": [],
          "resolutionOrder": 354,
          "services": [],
          "startOrder": 204,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.directory.local.configuration\">\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"schema\">\n    <schema name=\"directory_configuration\" prefix=\"dirconf\"\n      src=\"schemas/directory_configuration.xsd\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n    point=\"doctype\">\n\n    <facet name=\"DirectoryLocalConfiguration\">\n      <schema name=\"directory_configuration\" />\n    </facet>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.api.DocumentAdapterService\"\n    point=\"adapters\">\n    <adapter\n      class=\"org.nuxeo.ecm.directory.localconfiguration.DirectoryConfiguration\"\n      factory=\"org.nuxeo.ecm.directory.localconfiguration.DirectoryConfigurationFactory\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/directory-local-configuration.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Resolver for document properties containing Directory entries id. This resolver reference a proper\n    directory.\n  \n",
          "documentationHtml": "<p>\nResolver for document properties containing Directory entries id. This resolver reference a proper\ndirectory.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.ObjectResolverService--resolvers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.resolver/Contributions/org.nuxeo.ecm.directory.resolver--resolvers",
              "id": "org.nuxeo.ecm.directory.resolver--resolvers",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.ObjectResolverService",
                "name": "org.nuxeo.ecm.core.schema.ObjectResolverService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"resolvers\" target=\"org.nuxeo.ecm.core.schema.ObjectResolverService\">\n    <resolver class=\"org.nuxeo.ecm.directory.DirectoryEntryResolver\" type=\"directoryResolver\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.resolver",
          "name": "org.nuxeo.ecm.directory.resolver",
          "requirements": [],
          "resolutionOrder": 355,
          "services": [],
          "startOrder": 206,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.directory.resolver\">\n  <documentation>\n    Resolver for document properties containing Directory entries id. This resolver reference a proper\n    directory.\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.ObjectResolverService\" point=\"resolvers\">\n    <resolver type=\"directoryResolver\" class=\"org.nuxeo.ecm.directory.DirectoryEntryResolver\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/directory-resolver-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Core IO registered marshallers set.\n  \n",
          "documentationHtml": "<p>\nCore IO registered marshallers set.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.io.MarshallerRegistry--marshallers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.marshallers/Contributions/org.nuxeo.ecm.directory.marshallers--marshallers",
              "id": "org.nuxeo.ecm.directory.marshallers--marshallers",
              "registrationOrder": 12,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.io.MarshallerRegistry",
                "name": "org.nuxeo.ecm.core.io.MarshallerRegistry",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"marshallers\" target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\">\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryJsonWriter\" enable=\"true\"/>\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryJsonReader\" enable=\"true\"/>\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryListJsonWriter\" enable=\"true\"/>\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryListJsonReader\" enable=\"true\"/>\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryJsonWriter\" enable=\"true\"/>\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryListJsonWriter\" enable=\"true\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.marshallers",
          "name": "org.nuxeo.ecm.directory.marshallers",
          "requirements": [],
          "resolutionOrder": 356,
          "services": [],
          "startOrder": 205,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.directory.marshallers\" version=\"1.0.0\">\n  <documentation>\n    Core IO registered marshallers set.\n  </documentation>\n  <extension target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\" point=\"marshallers\">\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryJsonWriter\" enable=\"true\" />\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryJsonReader\" enable=\"true\" />\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryListJsonWriter\" enable=\"true\" />\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryEntryListJsonReader\" enable=\"true\" />\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryJsonWriter\" enable=\"true\" />\n    <register class=\"org.nuxeo.ecm.directory.io.DirectoryListJsonWriter\" enable=\"true\" />\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/marshallers-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.directory.DirectoryServiceImpl",
          "declaredStartOrder": 97,
          "documentation": "\n    The directory service holds registered directories.\n  \n",
          "documentationHtml": "<p>\nThe directory service holds registered directories.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.directory.DirectoryServiceImpl",
              "descriptors": [
                "org.nuxeo.ecm.directory.DirectoryFactoryDescriptor"
              ],
              "documentation": "\n      This extension point is obsolete.\n    \n",
              "documentationHtml": "<p>\nThis extension point is obsolete.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.DirectoryServiceImpl/ExtensionPoints/org.nuxeo.ecm.directory.DirectoryServiceImpl--factoryDescriptor",
              "id": "org.nuxeo.ecm.directory.DirectoryServiceImpl--factoryDescriptor",
              "label": "factoryDescriptor (org.nuxeo.ecm.directory.DirectoryServiceImpl)",
              "name": "factoryDescriptor",
              "version": "2021.58.6"
            }
          ],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.EventService--listeners",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.DirectoryServiceImpl/Contributions/org.nuxeo.ecm.directory.DirectoryServiceImpl--listeners",
              "id": "org.nuxeo.ecm.directory.DirectoryServiceImpl--listeners",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.EventService",
                "name": "org.nuxeo.runtime.EventService",
                "type": "service"
              },
              "version": "2021.58.6",
              "xml": "<extension point=\"listeners\" target=\"org.nuxeo.runtime.EventService\">\n    <listener class=\"org.nuxeo.ecm.directory.DirectoryCacheFlusher\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.DirectoryServiceImpl",
          "name": "org.nuxeo.ecm.directory.DirectoryServiceImpl",
          "requirements": [
            "org.nuxeo.runtime.cluster.ClusterService",
            "org.nuxeo.ecm.core.cache.CacheService"
          ],
          "resolutionOrder": 808,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.directory.DirectoryServiceImpl",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.DirectoryServiceImpl/Services/org.nuxeo.ecm.directory.api.DirectoryService",
              "id": "org.nuxeo.ecm.directory.api.DirectoryService",
              "overriden": false,
              "version": "2021.58.6"
            }
          ],
          "startOrder": 784,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.directory.DirectoryServiceImpl\">\n\n  <!-- The cache service must be started before me: TODO use a start level dependency? -->\n  <require>org.nuxeo.ecm.core.cache.CacheService</require>\n  <require>org.nuxeo.runtime.cluster.ClusterService</require>\n\n  <implementation class=\"org.nuxeo.ecm.directory.DirectoryServiceImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.directory.api.DirectoryService\" />\n  </service>\n\n  <documentation>\n    The directory service holds registered directories.\n  </documentation>\n\n  <extension-point name=\"factoryDescriptor\">\n    <documentation>\n      This extension point is obsolete.\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.directory.DirectoryFactoryDescriptor\" />\n  </extension-point>\n\n  <extension target=\"org.nuxeo.runtime.EventService\" point=\"listeners\">\n    <listener class=\"org.nuxeo.ecm.directory.DirectoryCacheFlusher\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/DirectoryService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.directory.core.CoreDirectoryFactory",
          "documentation": "Core directory implementation.\n",
          "documentationHtml": "<p>\nCore directory implementation.</p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.directory.core.CoreDirectoryFactory",
              "descriptors": [
                "org.nuxeo.ecm.directory.core.CoreDirectoryDescriptor",
                "org.nuxeo.ecm.directory.core.CoreDirectoryDescriptor.ACLDescriptor"
              ],
              "documentation": "\n\n      This extension point can be used to register new\n      core directories.\n      <code>\n        ...\n        <directory name=\"myCoreDirectory\">\n        <schema>user</schema>\n        <idField>username</idField>\n        <passwordField>password</passwordField>\n        <readOnly>false</readOnly>\n        <references/>\n    </directory>\n</code>\n",
              "documentationHtml": "<p>\nThis extension point can be used to register new\ncore directories.\n</p><p></p><pre><code>        ...\n        &lt;directory name&#61;&#34;myCoreDirectory&#34;&gt;\n        &lt;schema&gt;user&lt;/schema&gt;\n        &lt;idField&gt;username&lt;/idField&gt;\n        &lt;passwordField&gt;password&lt;/passwordField&gt;\n        &lt;readOnly&gt;false&lt;/readOnly&gt;\n        &lt;references/&gt;\n    &lt;/directory&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.core.CoreDirectoryFactory/ExtensionPoints/org.nuxeo.ecm.directory.core.CoreDirectoryFactory--directories",
              "id": "org.nuxeo.ecm.directory.core.CoreDirectoryFactory--directories",
              "label": "directories (org.nuxeo.ecm.directory.core.CoreDirectoryFactory)",
              "name": "directories",
              "version": "2021.58.6"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.core.CoreDirectoryFactory",
          "name": "org.nuxeo.ecm.directory.core.CoreDirectoryFactory",
          "requirements": [
            "org.nuxeo.ecm.directory.DirectoryServiceImpl"
          ],
          "resolutionOrder": 812,
          "services": [],
          "startOrder": 845,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.ecm.directory.core.CoreDirectoryFactory\">\n\n  <implementation class=\"org.nuxeo.ecm.directory.core.CoreDirectoryFactory\"/>\n\n  <require>org.nuxeo.ecm.directory.DirectoryServiceImpl</require>\n\n  <documentation>Core directory implementation.</documentation>\n\n  <extension-point name=\"directories\">\n    <object class=\"org.nuxeo.ecm.directory.core.CoreDirectoryDescriptor\"/>\n    <object class=\"org.nuxeo.ecm.directory.core.CoreDirectoryDescriptor$ACLDescriptor\"/>\n\n    <documentation>\n      This extension point can be used to register new\n      core directories.\n      <code>\n        ...\n        <directory name=\"myCoreDirectory\">\n          <schema>user</schema>\n          <idField>username</idField>\n          <passwordField>password</passwordField>\n          <readOnly>false</readOnly>\n          <references>\n          </references>\n        </directory>\n\n      </code>\n\n    </documentation>\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/CoreDirectory.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.directory.GenericDirectoryComponent",
          "documentation": "\n    Registration of generic directories.\n  \n",
          "documentationHtml": "<p>\nRegistration of generic directories.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.directory.GenericDirectory",
              "descriptors": [
                "org.nuxeo.ecm.directory.BaseDirectoryDescriptor"
              ],
              "documentation": "\n      Registration of generic directories. Generic directories are usable only as extensions to\n      other directories which have been defined as templates.\n\n      First, register a template directory:\n      <code>\n    <extension point=\"directories\" target=\"org.nuxeo.ecm.directory.sql.SQLDirectoryFactory\">\n        <directory name=\"template-dir\" template=\"true\">\n            <dataSource>java:/nxsqldirectory</dataSource>\n            <createTablePolicy>always</createTablePolicy>\n            <querySizeLimit>100</querySizeLimit>\n        </directory>\n    </extension>\n</code>\n\n      Then use a generic directory to provide specific customizations:\n      <code>\n    <extension point=\"directories\" target=\"org.nuxeo.ecm.directory.GenericDirectory\">\n        <directory extends=\"template-dir\" name=\"my-directory\">\n            <schema>myschema</schema>\n            <table>mytable</table>\n            <idField>id</idField>\n            <passwordField>password</passwordField>\n            <passwordHashAlgorithm>SSHA</passwordHashAlgorithm>\n            <substringMatchType>subany</substringMatchType>\n            <cacheTimeout>3600</cacheTimeout>\n            <cacheMaxSize>1000</cacheMaxSize>\n            <!-- <dataFile>my-directory.csv</dataFile> -->\n        </directory>\n    </extension>\n</code>\n",
              "documentationHtml": "<p>\nRegistration of generic directories. Generic directories are usable only as extensions to\nother directories which have been defined as templates.\n</p><p>\nFirst, register a template directory:\n</p><p></p><pre><code>    &lt;extension point&#61;&#34;directories&#34; target&#61;&#34;org.nuxeo.ecm.directory.sql.SQLDirectoryFactory&#34;&gt;\n        &lt;directory name&#61;&#34;template-dir&#34; template&#61;&#34;true&#34;&gt;\n            &lt;dataSource&gt;java:/nxsqldirectory&lt;/dataSource&gt;\n            &lt;createTablePolicy&gt;always&lt;/createTablePolicy&gt;\n            &lt;querySizeLimit&gt;100&lt;/querySizeLimit&gt;\n        &lt;/directory&gt;\n    &lt;/extension&gt;\n</code></pre><p>\nThen use a generic directory to provide specific customizations:\n</p><p></p><pre><code>    &lt;extension point&#61;&#34;directories&#34; target&#61;&#34;org.nuxeo.ecm.directory.GenericDirectory&#34;&gt;\n        &lt;directory extends&#61;&#34;template-dir&#34; name&#61;&#34;my-directory&#34;&gt;\n            &lt;schema&gt;myschema&lt;/schema&gt;\n            &lt;table&gt;mytable&lt;/table&gt;\n            &lt;idField&gt;id&lt;/idField&gt;\n            &lt;passwordField&gt;password&lt;/passwordField&gt;\n            &lt;passwordHashAlgorithm&gt;SSHA&lt;/passwordHashAlgorithm&gt;\n            &lt;substringMatchType&gt;subany&lt;/substringMatchType&gt;\n            &lt;cacheTimeout&gt;3600&lt;/cacheTimeout&gt;\n            &lt;cacheMaxSize&gt;1000&lt;/cacheMaxSize&gt;\n            &lt;!-- &lt;dataFile&gt;my-directory.csv&lt;/dataFile&gt; --&gt;\n        &lt;/directory&gt;\n    &lt;/extension&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.GenericDirectory/ExtensionPoints/org.nuxeo.ecm.directory.GenericDirectory--directories",
              "id": "org.nuxeo.ecm.directory.GenericDirectory--directories",
              "label": "directories (org.nuxeo.ecm.directory.GenericDirectory)",
              "name": "directories",
              "version": "2021.58.6"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.GenericDirectory",
          "name": "org.nuxeo.ecm.directory.GenericDirectory",
          "requirements": [
            "org.nuxeo.ecm.directory.DirectoryServiceImpl"
          ],
          "resolutionOrder": 813,
          "services": [],
          "startOrder": 844,
          "version": "2021.58.6",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.ecm.directory.GenericDirectory\">\n\n  <require>org.nuxeo.ecm.directory.DirectoryServiceImpl</require>\n\n  <implementation class=\"org.nuxeo.ecm.directory.GenericDirectoryComponent\"/>\n\n  <documentation>\n    Registration of generic directories.\n  </documentation>\n\n  <extension-point name=\"directories\">\n\n    <documentation>\n      Registration of generic directories. Generic directories are usable only as extensions to\n      other directories which have been defined as templates.\n\n      First, register a template directory:\n      <code>\n        <extension target=\"org.nuxeo.ecm.directory.sql.SQLDirectoryFactory\" point=\"directories\">\n          <directory name=\"template-dir\" template=\"true\">\n            <dataSource>java:/nxsqldirectory</dataSource>\n            <createTablePolicy>always</createTablePolicy>\n            <querySizeLimit>100</querySizeLimit>\n          </directory>\n        </extension>\n      </code>\n      Then use a generic directory to provide specific customizations:\n      <code>\n        <extension target=\"org.nuxeo.ecm.directory.GenericDirectory\" point=\"directories\">\n          <directory name=\"my-directory\" extends=\"template-dir\">\n            <schema>myschema</schema>\n            <table>mytable</table>\n            <idField>id</idField>\n            <passwordField>password</passwordField>\n            <passwordHashAlgorithm>SSHA</passwordHashAlgorithm>\n            <substringMatchType>subany</substringMatchType>\n            <cacheTimeout>3600</cacheTimeout>\n            <cacheMaxSize>1000</cacheMaxSize>\n            <!-- <dataFile>my-directory.csv</dataFile> -->\n          </directory>\n        </extension>\n      </code>\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.directory.BaseDirectoryDescriptor\"/>\n\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/GenericDirectory.xml",
          "xmlPureComponent": false
        }
      ],
      "fileName": "nuxeo-platform-directory-core-2021.58.6.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory",
      "id": "org.nuxeo.ecm.directory",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.23\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 0.0.0.SNAPSHOT\r\nExport-Package: org.nuxeo.ecm.directory;core=api,org.nuxeo.ecm.directo\r\n ry.memory,org.nuxeo.ecm.directory.constants\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Category: web,stateful\r\nBundle-Name: Nuxeo Directory\r\nBundle-Localization: bundle\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nRequire-Bundle: org.nuxeo.ecm.directory.api;visibility:=reexport,org.n\r\n uxeo.ecm.core.schema\r\nBundle-Vendor: Nuxeo\r\nEclipse-LazyStart: true\r\nNuxeo-Component: OSGI-INF/DirectoryService.xml,OSGI-INF/GenericDirecto\r\n ry.xml,OSGI-INF/CoreDirectory.xml,OSGI-INF/directory-local-configurat\r\n ion.xml,OSGI-INF/directory-resolver-contrib.xml,OSGI-INF/marshallers-\r\n contrib.xml\r\nImport-Package: org.apache.commons.logging,org.nuxeo.common.xmap.annot\r\n ation,org.nuxeo.ecm.core;api=split,org.nuxeo.ecm.core.api;api=split,o\r\n rg.nuxeo.ecm.core.api.impl,org.nuxeo.ecm.core.api.model,org.nuxeo.ecm\r\n .core.schema,org.nuxeo.ecm.core.schema.types,org.nuxeo.ecm.directory.\r\n api,org.nuxeo.runtime,org.nuxeo.runtime.api,org.nuxeo.runtime.model\r\nBundle-SymbolicName: org.nuxeo.ecm.directory;singleton:=true\r\n\r\n",
      "maxResolutionOrder": 813,
      "minResolutionOrder": 354,
      "packages": [],
      "requirements": [
        "org.nuxeo.ecm.directory.api",
        "org.nuxeo.ecm.core.schema"
      ],
      "version": "2021.58.6"
    }
  ],
  "creationDate": 1723459723568,
  "key": "Nuxeo Platform-2021.58",
  "name": "Nuxeo Platform",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1723459723568,
  "version": "2021.58"
}